<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Android架构师之路 网络层架构设计与实战</title>
</head>
<body>
<div class="learn-course-list">

    <div class="list-item">
        <h3>
            第1章 课前须知
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1441">
                    1-1 课前须知 (10:23) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1442">
                    1-2 如何更好的学习本课程？ (08:43) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第2章 主流网络框架分析
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1443">
                    2-1 常用网络框架介绍1 (13:41) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1500">
                    2-2 常用网络框架介绍2 (12:54) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1502">
                    2-3 okhttp和retrofit框架介绍 (17:19) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1503">
                    2-4 选择一个开源框架的标准是什么？ (06:11) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1505">
                    2-5 okhttp hello world 编写 (10:17) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第3章 http协议详解
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1501">
                    3-1 http 协议介绍和特点 (22:51) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1518">
                    3-2 http 请求协议详解 (12:09) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1519">
                    3-3 常见的请求头和响应头详细介绍 (16:05) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第4章 okhttp3详解
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1520">
                    4-1 同步请求和异步请求 (07:21) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1521">
                    4-2 请求头和响应头 (08:33) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1522">
                    4-3 get请求之添加参数 (05:45) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1523">
                    4-4 搭建post请求的服务 (12:00) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1524">
                    4-5 post 请求传递参数 (12:33) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1525">
                    4-6 martipart 协议分析-1 (12:16) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1526">
                    4-7 martipart协议分析-2 (05:58) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1527">
                    4-8 上传文件 (14:06) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1528">
                    4-9 缓存原理 (23:37) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1529">
                    4-10 缓存机制 (11:27) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1530">
                    4-11 缓存实现问题-1 (20:15) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1531">
                    4-12 缓存实现问题-2 (12:09) </a>


                <i class="sz-full iright pink"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第5章 多线程下载功能设计
        </h3>
        <ul>
            <li class="finished">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1533">
                    5-1 多线程下载文件的原理和在实际开发问题 (19:42) </a>


                <i class="sz-full iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1534">
                    5-2 http 字段content-length、range、Transfer-Encoding chunked实践 (16:46) </a>


                <i class="sz-empty iright pink"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1535">
                    5-3 多线程下载准备工作-1 (04:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1536">
                    5-4 多线程下载准备工作-2 (17:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1537">
                    5-5 多线程下载网络请求实现-1 (08:54) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1538">
                    5-6 多线程下载网络请求实现-2 (09:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1539">
                    5-7 多线程下载核心实现 (18:50) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第6章 多线程下载功能优化
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1540">
                    6-1 线程池原理和终止线程-1 (17:59) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1541">
                    6-2 线程池原理和终止线程-2 (11:40) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1542">
                    6-3 引入队列机制 (07:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1543">
                    6-4 引入greendao (17:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1544">
                    6-5 添加数据库支持-1 (13:28) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1545">
                    6-6 添加数据库支持-2 (07:02) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1546">
                    6-7 添加进度更新支持 (11:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1547">
                    6-8 多线程优化 (06:43) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1548">
                    6-9 单例模式 (10:13) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1549">
                    6-10 volatile 关键字 (16:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1550">
                    6-11 构建者模式 (19:36) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1551">
                    6-12 框架设计经验谈 (03:36) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第7章 客户端设计
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1553">
                    7-1 httpheader 接口定义 (07:09) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1554">
                    7-2 请求头和响应头编写 (13:31) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1555">
                    7-3 状态码定义 (08:54) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1556">
                    7-4 response封装 (14:39) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1557">
                    7-5 request 封装 (17:50) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1558">
                    7-6 测试case编写 (05:59) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1552">
                    7-7 工厂模式封装httpRequest (17:29) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第8章 框架拓展设计
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1559">
                    8-1 支持原生的HttpUrlConnection方式请求和响应 (18:56) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1560">
                    8-2 业务层多线程分发处理 (18:52) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1561">
                    8-3 请求成功移除处理 (19:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=1562">
                    8-4 请求成功类型转换包装处理 (22:42) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第9章 网络框架重构
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9695">
                    9-1 框架重构与升级介绍 (02:44) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9696">
                    9-2 retrofit网络框架原理分析 (09:53) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9697">
                    9-3 重构response和request对象 (13:07) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9698">
                    9-4 重构网络请求过程 (17:04) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9699">
                    9-5 网络请求功能-单元测试 (05:20) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9700">
                    9-6 NiceClient封装 (13:00) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9701">
                    9-7 Java动态代理讲解-1 (19:03) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9702">
                    9-8 Java动态代理讲解-2 (07:04) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第10章 网络框架注解功能设计与实现
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9703">
                    10-1 框架注解定义 (04:27) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9704">
                    10-2 框架注解处理-1 (16:55) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9705">
                    10-3 框架注解处理-2 (07:08) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9706">
                    10-4 支持http header的设置 (02:15) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9707">
                    10-5 处理Query、QueryMap、Path等注解 (09:05) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9708">
                    10-6 处理FieldMap注解 (03:56) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9867">
                    10-7 实现发送对象到服务器功能-1 (05:29) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9868">
                    10-8 实现发送对象到服务器功能-2 (11:46) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9869">
                    10-9 实现发送对象到服务器功能-3 (05:41) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第11章 错误码和重连功能设计与实现
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9723">
                    11-1 http 重试功能代码编写-1 (11:10) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9729">
                    11-2 http 重试功能代码编写-2 (08:26) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9724">
                    11-3 错误码的处理-1 (09:48) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9730">
                    11-4 错误码的处理-2 (10:13) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第12章 https功能设计与实现
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9710">
                    12-1 https内容介绍.mp4 (05:43) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9711">
                    12-2 加密知识讲解-1 (08:24) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9712">
                    12-3 加密知识讲解-2 (10:31) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9727">
                    12-4 https原理讲解什么是单向认证什么是双向认证 (13:29) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9713">
                    12-5 node.js搭建https测试server (12:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9714">
                    12-6 客户端访问https网站 (11:37) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9715">
                    12-7 java 实现单向认证 (08:34) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9716">
                    12-8 NiceClient集成https功能 (09:56) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第13章 httpDns功能设计与实现
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9717">
                    13-1 dns 案例讲解 (10:13) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9718">
                    13-2 httpdns常见的实现方案和使用过程中遇到的问题 (10:19) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9719">
                    13-3 高度抽象httpclient封装-1 (08:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9720">
                    13-4 高度抽象httpclient封装-2 (11:28) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9728">
                    13-5 实现HttpUrlConnenct封装 (11:11) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9721">
                    13-6 httpdns功能代码实现 (16:47) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9722">
                    13-7 在使用httpDns可能遇到一些问题 (11:34) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>
    <div class="list-item">
        <h3>
            第14章 支持RxJava及课程总结
        </h3>
        <ul>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9731">
                    14-1 支持rxjava (06:32) </a>


                <i class="sz-empty iright"></i>
            </li>
            <li class="">
                <i class="imv2-video ileft"></i>
                <a target="_blank" href="/lesson/70.html#mid=9732">
                    14-2 总结回顾 (06:29) </a>


                <i class="sz-empty iright"></i>
            </li>
        </ul>
    </div>

    <div class="chapter-update-state clearfix">
        <i class="imv2-check"></i>
        <span>本课程已完结</span>
    </div>
</div>
</body>
</html>